home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs06.d81 / math64.prg (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  7KB  |  201 lines

  1. 10 REM ****************************
  2. 15 REM *      MATH FOR KIDS       *
  3. 20 REM ****************************
  4. 30 GOSUB 5000
  5. 50 PRINT"[147]":POKE 53281,6:POKE53280,8
  6. 60 PRINT,"********************
  7. 70 [153],"*  THE MATH TUTOR  *
  8. 80 PRINT,"********************":PRINT:PRINT"[159]"
  9. 90 PRINT"  [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  10. 100 FORQ=1 TO 13: PRINT"  [180]                                  [170]": NEXT
  11. 110 PRINT"  [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]"
  12. 120 PRINT"":PRINT,"  [158]MAKE YOUR CHOICE":PRINT
  13. 130 PRINT,"  [219] : ADDITION":PRINT
  14. 140 PRINT,"  [192] : SUBTRACTION":PRINT
  15. 150 PRINT,"  * : MULTIPLICATION":PRINT
  16. 160 PRINT,"  / : DIVISION":PRINT
  17. 165 PRINT,"  F1 - END PROGRAM"
  18. 175 GET Q1$:IF Q1$="" THEN 175
  19. 180 CC$="RIGHT":WW$="WRONG":AN$=" ANSWER(S) = "
  20. 185 IF(Q1$ ="*")OR (Q1$ ="+")OR(Q1$ ="-")OR (Q1$ ="/")THEN 300
  21. 190 Q$=Q1$:GOSUB 3000
  22. 199 GOTO175
  23. 300 PRINT"[147][159]  [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  24. 310 FORQ=1 TO 13: PRINT"  [180]                                  [170]": NEXT
  25. 320 PRINT"  [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]"
  26. 330 PRINT,"":PRINT"[158]DO YOU WANT TABLES OR DO YOU"
  27. 340 PRINT" WANT ME TO MAKE UP PROBLEMS ?":PRINT
  28. 346 DD$="[144]NUMBER"
  29. 350 PRINT,"    T = TABLES"
  30. 360 PRINT,"    P = PROBLEMS";:INPUT TP$
  31. 370 IF TP$ ="T" THEN 385
  32. 380 IF TP$ ="P" THEN 385
  33. 382 GOTO 330
  34. 385 PRINT"":FORI=1TO30:PRINT" ";:NEXT:PRINT:IF TP$="T"THEN 388
  35. 386 IF TP$="P" AND Q1$="/" THEN DD$="[153]   DIVISOR     THAT"
  36. 387 PRINT"WHAT IS THE BIGGEST ";DD$;" I SHOULD USE              ":INPUT Q2$
  37. 388 IF TP$="T"THEN INPUT" WHICH NUMBER DO YOU WANT TABLE FOR";Q2$
  38. 389 Q2=VAL(Q2$):IF Q2=0 THEN 385
  39. 395 PRINT"":FORI=1TO279:PRINT" ";:NEXT
  40. 400 IF TP$="T" AND Q1$="+" THEN 600
  41. 410 IF TP$="T" AND Q1$="-" THEN 800
  42. 420 IF TP$="T" AND Q1$="*" THEN 1000
  43. 430 IF TP$="T" AND Q1$="/" THEN 1200
  44. 440 IF TP$="P" AND Q1$="+" THEN 2000
  45. 450 IF TP$="P" AND Q1$="-" THEN 2200
  46. 460 IF TP$="P" AND Q1$="*" THEN 2400
  47. 470 IF TP$="P" AND Q1$="/" THEN 2600
  48. 600 REM  TABLE  MENU ADDITION
  49. 610 PRINT"    ADDITION TABLE FOR THE NUMBER ";Q2:PRINT""
  50. 615 FOR U= 0 TO 9
  51. 620 PRINT""Q2"+"U" = ";Q2+U
  52. 625 NEXT
  53. 628 PRINT""
  54. 630 FOR U=10 TO 19
  55. 635 PRINT,""Q2"+"U" = ";Q2+U
  56. 640 NEXT
  57. 650 PRINT"PRESS ANY KEY FOR MENU";
  58. 660 GET V$:IF V$="" THEN 660
  59. 670 V$=""
  60. 699 RUN 50
  61. 800 REM  TABLE  MENU SUBTRACTION
  62. 810 PRINT"  SUBTRACTION  TABLE FOR THE NUMBER ";Q2:PRINT""
  63. 815 FOR U= Q2 TO Q2+9
  64. 820 PRINT""U"-"Q2" = ";U-Q2
  65. 825 NEXT
  66. 828 PRINT""
  67. 830 FOR U=Q2+10 TO Q2+19
  68. 835 PRINT,""U"-"Q2" = ";U-Q2
  69. 840 NEXT
  70. 850 PRINT"PRESS ANY KEY FOR MENU";
  71. 860 GET V$:IF V$="" THEN 860
  72. 870 V$=""
  73. 899 RUN 50
  74. 1000 REM  TABLE  MENU MULTIPLICATION
  75. 1010 PRINT" MULTIPLICATION TABLE FOR THE NUMBER";Q2:PRINT""
  76. 1020 FOR U= 0 TO 6                   
  77. 1030 PRINT""U"X"Q2" = ";Q2*U
  78. 1040 NEXT
  79. 1050 PRINT""
  80. 1060 FOR U=7 TO 12
  81. 1070 PRINT,""U"X"Q2" = ";Q2*U
  82. 1080 NEXT
  83. 1090 PRINT"PRESS ANY KEY FOR MENU";
  84. 1100 GET V$:IF V$="" THEN 1100
  85. 1110 V$=""
  86. 1199 RUN 50
  87. 1200 REM  TABLE  MENU DIVISION
  88. 1210 PRINT"    DIVISION TABLE FOR THE NUMBER";Q2:PRINT""
  89. 1220 FOR U= 1 TO 6
  90. 1230 PRINT""Q2*U"/"Q2" = ";U
  91. 1240 NEXT
  92. 1250 PRINT""
  93. 1260 FOR U=7 TO 12
  94. 1270 PRINT,""Q2*U"/"Q2" = ";U
  95. 1280 NEXT
  96. 1290 PRINT"PRESS ANY KEY FOR MENU";
  97. 1300 GET V$:IF V$="" THEN 1300
  98. 1310 V$=""
  99. 1399 RUN 50
  100. 2000 REM PROBLEM MENU ADDITION
  101. 2005 DD$="[144]NUMBER"
  102. 2010 GOSUB 4000:GOSUB 4200:B=0
  103. 2015 GOSUB 2090:GOSUB4225
  104. 2020 PRINTX" + "Y"=";:INPUT F$
  105. 2025 IF LEFT$(F$,1)="_"THEN F$ ="": GOTO 50
  106. 2030 F=VAL(F$):B=B+1
  107. 2040 IF F=X+Y THEN PRINT:PRINT"NICE GOING - YOU'RE RIGHT!":RA=RA+1
  108. 2045 IF F=X+Y THEN FOR R= 1 TO 800:NEXT:GOTO2000
  109. 2050 IFF<>X+YTHENPRINT:PRINT"SORRY - TRY AGAIN!":FORH=1TO800:NEXT
  110. 2060 IF F<>X+Y THEN WA=WA+1: GOSUB4200
  111. 2065 IF F<>X+YTHENIFB>=5 THENPRINT"[147]          THE CORRECT ANSWER IS"
  112. 2070 IF F<>X+YTHENIFB>=5 THENPRINT" "X"+"Y" ="X+Y:FORE=1TO5000:NEXT:GOTO2020
  113. 2080 GOTO 2020
  114. 2090 PRINT"PRESS _ KEY FOR MENU"
  115. 2199 RETURN
  116. 2200 REM PROBLEM MENU SUBTRACTION
  117. 2205 DD$="[144]NUMBER"
  118. 2210 GOSUB 4000
  119. 2215 IF Y>X THEN GOTO 2210
  120. 2218 GOSUB 4200:B=0
  121. 2219 GOSUB 2090:GOSUB4225
  122. 2220 PRINTX" - "Y"=";:INPUT F$
  123. 2225 IF LEFT$(F$,1)="_"THEN F$ ="": GOTO 50
  124. 2230 F=VAL(F$):B=B+1
  125. 2240 IF F=X-Y THEN PRINT:PRINT"NICE GOING - YOU'RE RIGHT!":RA=RA+1
  126. 2245 IF F=X-Y THEN FOR R = 1 TO 800:NEXT:GOTO2200
  127. 2250 IFF<>X-YTHENPRINT:PRINT"SORRY - TRY AGAIN!":FORH=1TO800:NEXT
  128. 2260 IF F<>X-Y THEN WA=WA+1: GOSUB4200
  129. 2265 IF F<>X-YTHENIFB>=5 THENPRINT"[147]          THE CORRECT ANSWER IS"
  130. 2270 IF F<>X-YTHENIF B>=5THENPRINT" "X"-"Y" ="X-Y:FORE=1TO5000:NEXT:GOTO2220
  131. 2280 GOTO 2220
  132. 2299 REM
  133. 2400 REM PROBLEM MENU MULTIPLICATION
  134. 2405 DD$="[144]NUMBER"
  135. 2410 GOSUB 4000:GOSUB 4200:B=0
  136. 2415 GOSUB 2090:GOSUB4225
  137. 2420 PRINTX" X "Y"=";:INPUT F$
  138. 2425 IF LEFT$(F$,1)="_"THEN F$ ="": GOTO 50
  139. 2430 F=VAL(F$):B=B+1
  140. 2440 IF F=X*Y THEN PRINT:PRINT"NICE GOING - YOU'RE RIGHT!":RA=RA+1
  141. 2445 IF F=X*Y THEN FOR G=1 TO 900:NEXT:GOTO2400
  142. 2450 IFF<>X*YTHENPRINT:PRINT"SORRY - TRY AGAIN!":FORH=1TO800:NEXT
  143. 2460 IF F<>X*Y THEN WA=WA+1: GOSUB4200
  144. 2465 IF F<>X*Y THEN IF B>=5 THEN PRINT"[147]          THE CORRECT ANSWER IS"
  145. 2470 IF F<>X*YTHENIF B>=5THENPRINT" "X"X"Y" ="X*Y:FORE=1TO5000:NEXT:GOTO2420
  146. 2480 IF F <>X*Y THEN 2420
  147. 2599 REM
  148. 2600 REM PROBLEM MENU DIVISION
  149. 2605 DD$="[153]   DIVISOR    "
  150. 2610 GOSUB 4000
  151. 2615 Z=X*Y:IF Y> Q2 THEN2610
  152. 2618 GOSUB 4200:B=0
  153. 2619 GOSUB 2090:GOSUB4225
  154. 2620 PRINTZ" / "Y"=";:INPUT F$
  155. 2625 IF LEFT$(F$,1)="_"THEN F$ ="": GOTO 50
  156. 2630 F=VAL(F$):B=B+1
  157. 2640 IF F=Z/Y THEN PRINT:PRINT"NICE GOING - YOU'RE RIGHT!":RA=RA+1
  158. 2645 IF F=Z/Y THEN FOR G=1 TO 900:NEXT:GOTO2600
  159. 2650 IFF<>Z/YTHENPRINT:PRINT"SORRY - TRY AGAIN!":FORH=1TO800:NEXT
  160. 2660 IF F<>Z/Y THEN WA=WA+1: GOSUB4200
  161. 2665 IF F<>Z/Y THEN IF B>=5 THEN PRINT"[147]          THE CORRECT ANSWER IS"
  162. 2670 IF F<>Z/YTHENIF B>=5THENPRINT" "Z"/"Y" ="Z/Y:FORE=1TO5000:NEXT:GOTO2620
  163. 2680 IF F <>Z/Y THEN 2620
  164. 2699 REM SINSINSINSUBROUTINES START HERE SINSINSIN
  165. 3000 IFQ$="[133]"THEN GOSUB 7000:REM **F1**
  166. 3010 IF Q$="[133]" THEN IF(RA+WA)>0 THEN PRINTCC$;AN$;RA:PRINTWW$;AN$;WA
  167. 3020 IF Q$="[133]"THEN END
  168. 3030 RETURN
  169. 4000 X=INT(Q2*RND(1))+1
  170. 4010 Y=INT(Q2*RND(1))+1
  171. 4050 RETURN
  172. 4200 PRINT"[147][159]  [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  173. 4210 FORQ=1 TO 13: PRINT"  [180]                                  [170]": NEXT
  174. 4220 PRINT"  [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]":PRINT""
  175. 4225 PRINT"";
  176. 4230 RETURN
  177. 4999 REM COPIED 'SHIFTING LETTERS' FROM CIS A FEW YEARS AGO - AUTHOR UNKNOWN
  178. 5000 PRINT"[147][144]":POKE53281,1
  179. 5010 READ WS$
  180. 5020 IFWS$="-1" THEN FOR Y=1 TO 500:NEXT:RETURN
  181. 5030 PRINT"";:REM ****  DELETE THIS      LINE AND IT PRINTS VERTICALLY ****
  182. 5040 PRINTTAB(38)"";WS$:PRINT"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";CHR$(20)
  183. 5050 REM *** IN 240 THE VALUE  FOR  LEFT    CRSR = THE TAB  VALUE PLUS 1 ***
  184. 5060 FOR J=1TO 100:NEXT:REM SCROLL SPEED
  185. 5070 GOTO 5010
  186. 5080 REM *+*+*  IN THE DATA STATEMENTS       BELOW: THE SPACES ARE WHAT PUSH
  187. 5090 REM +*+*+ THE CHAR. ALL THE WAY OFF    THE SCREEN
  188. 5100 REM---------------------------REM
  189. 5110 DATA *, , ,T,H,E, ,M,A,T,H, ,T,U
  190. 5120 DATA T,O,R, , ,*, , , , , , , , ,-1
  191. 6998 REM SCREEN WIPER  BY JOSEPH R.     CHARNETSKI: COPIED FROM RUN MAG 4/86
  192. 6999 REM PAGE 96 - MAGIC TRICK # $2DB
  193. 7000 REM ****   SCREEN CURTAIN   ****
  194. 7020 C1$="_":REM WIPE ^ OR _
  195. 7030 C1=23:C2=19:C3=24:C4=39:C5=59903
  196. 7040 FOR J=0 TO C1:C2$=C2$+CHR$(32)+CHR$(157)+CHR$(17):NEXT:C2$=C2$+CHR$(145)
  197. 7050 FOR J=0TOC2:IF J=0 THEN POKE 781,C3:SYSC5
  198. 7060 IF C1$="_"THEN PRINT"";TAB(J);C2$:PRINT"";TAB(C4-J);C2$
  199. 7070 IF C1$="^" THEN POKE 781,J:SYSC5:POKE781,C3-J:SYSC5
  200. 7080 NEXT:PRINT"[147]";:C2$="":RETURN
  201.